'use strict';

let deviceType = '';

module.exports = {
  // 对不同请求方法的参数做处理
  params(key) {
    const method = this.request.method;
    if (method.toUpperCase() === 'GET') {
      return key ? this.query[key] : this.query;
    } else if (method.toUpperCase() === 'DELETE') {
      return key ? this.params[key] : this.params;
    }
    return key ? this.request.body[key] : this.request.body;
  },
  // 解密token 获取username
  get username() {
    const token = this.request.header.token;
    const tokenCache = token ? this.app.jwt.verify(token, this.app.config.jwt.secret) : undefined;
    return tokenCache ? tokenCache.username : undefined;
  },
  // 解密token 获取id
  get userId() {
    const token = this.request.header.token;
    const tokenCache = token ? this.app.jwt.verify(token, this.app.config.jwt.secret) : undefined;
    return tokenCache ? +tokenCache.id : undefined;
  },
  set deviceType(val) {
    deviceType = val;
  },
  // 获取设备类型
  get deviceType() {
    return deviceType;
  },
};
